<?php
class TransferidosController extends AppController {

	var $name = 'Transferidos';
	var $uses = array('CirculosAprendizaje','Estudiante','User','Transferido','UsersEquiposOperativo');
	var $helpers = array('Access');

	function index($circulo=null) {	
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$group_id = $this->Access->getMy('group_id');	
		$this->Transferido->recursive = 0;
		$transferidos=$this->paginate('Transferido');
		$transferidos2=array();			
		foreach ($transferidos as $transferido):	
						
			$consulta_circulo=$this->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$transferido['Transferido']['estudiante_id'])));
			
			if($consulta_circulo['Estudiante']['circulos_aprendizaje_id'] == $circulo){
				$transferido['Transferido']['nombre_estudiante']=$consulta_circulo['Estudiante']['nombre_completo'];
				$usuario = $this->User->find('first',array('conditions'=>array('User.id'=>$transferido['Transferido']['user_id'])));
				$usuario = $usuario['User']['nombre_completo'];
				$transferido['Transferido']['nombre_usuario']=$usuario;
				$transferidos2[] = $transferido;
			}			
		endforeach;
		
		$circulo_nombre = $this->CirculosAprendizaje->find('first',array('fields'=>array('CirculosAprendizaje.nombre'),
																	'conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
		
		$circulo_nombre = $circulo_nombre['CirculosAprendizaje']['nombre'];		
		
		$this->set(compact('transferidos2', 'circulo', 'circulo_nombre', 'group_id'));
	}

	function view($id = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid transferido', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('transferido', $this->Transferido->read(null, $id));
	}
	
	function add($estudiante = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!empty($this->data)) {
			$form = $this->data['Transferido'];
			
			//1. Modificar el estado del estudiante
			$this->Estudiante->id = $form['estudiante_id'];						
			$this->Estudiante->saveField('transferencia', 'Si');						
			
			//2. Agrego el transferido.
			$this->Transferido->create();
			if ($this->Transferido->save($this->data)) {				
				$this->Session->setFlash(__('Transferencia guardada', true));
				$this->redirect(array('action' => 'transferencias_circulos'));
			} else {
				$this->Session->setFlash(__('La transferencia no se pudo guardar', true));
			}
		}
		
		$user_id = $this->Access->getMy('id');
		$group_id = $this->Access->getMy('group_id');
		$estudiantes = $this->Transferido->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiante)));
		$users = $this->Transferido->User->find('first',array('conditions'=>array('User.id'=>$user_id)));		
		$this->set(compact('estudiantes', 'users', 'user_id', 'group_id'));
	}

	function edit($id = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid transferido', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Transferido->save($this->data)) {
				$this->Session->setFlash(__('Transferencia guardada', true));
				$this->redirect(array('action' => 'transferencias_circulos'));
			} else {
				$this->Session->setFlash(__('La transferencia no se pudo guardar', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Transferido->read(null, $id);
		}
		
		$user_id = $this->Access->getMy('id');
		$group_id = $this->Access->getMy('group_id');		
		$users = $this->Transferido->User->find('first',array('conditions'=>array('User.id'=>$user_id)));			
		$this->set(compact('users', 'user_id', 'group_id'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for transferido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Transferido->delete($id)) {
			$this->Session->setFlash(__('Transferido deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Transferido was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function transferencias_circulos(){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$user_id = $this->Access->getMy('id');
		$group_id = $this->Access->getMy('group_id');
		
		$circulos_aprendizajes = array();
		//Si es diferente a Administador
		if($group_id!="1"){
			
			$user_eo = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.group_id'=>$group_id, 'AND'=>array('UsersEquiposOperativo.user_id'=>$user_id))));
			//Si no hay users_equipo_operativo es TUTOR			
			if($group_id=="2"){				
				//$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/'.$user_id);
				$circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.user_id'=>$user_id));			
			}
			else{//Coordinador				
				//Listar los circulos pero con el parametro: EO.
				$circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.equipos_operativo_id'=>$user_eo['UsersEquiposOperativo']['equipos_operativo_id']));
				//$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/0/'.$user_eo['UsersEquiposOperativo']['equipos_operativo_id']);				
			}			
		}
		//Si es Administrador muestra todos los circulos
		else{
			//$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/');
			$circulos_aprendizajes = $this->paginate('CirculosAprendizaje');
		}
		$this->set('circulos', $circulos_aprendizajes);	
		$this->set(compact('user_id','group_id'));
	}
	
	function transferencias_estudiantes($circulo=null){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}	
		$estudiantes = $this->paginate('Estudiante', array('Estudiante.circulos_aprendizaje_id'=>$circulo, 
											'AND'=>array('Estudiante.desertado_ca'=>'No','Estudiante.transferencia_jec'=>'No')));
		
		$circulo_activo = $this->CirculosAprendizaje->find('first', array('conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
				
		$circulo = array();
		$circulo['id'] = $circulo_activo['CirculosAprendizaje']['id'];
		$circulo['nombre'] = $circulo_activo['CirculosAprendizaje']['nombre'];

		$user_id = $this->Access->getMy('id');
		$group_id = $this->Access->getMy('group_id');
		$this->set(compact('user_id','group_id'));
		$this->set(compact('estudiantes', 'circulo'));
	}
}
?>